#include <compare>
#include <format>
#include <iostream>
int main() {
  {
    std::pair pair_t{1, "hello"};
    std::cout << std::format("{} {}\n", pair_t.first, pair_t.second);
    auto [a, b]{pair_t};
  }

  {
    std::array arr{11, 22, 33};
    auto [x, y, z]{arr};
  }

  {
    struct Point {
      double m_x;
      double m_y;
    };
    Point p;
    p.m_x = 10;
    p.m_y = 20.0;
    auto [x, y]{p};
  }
  {
    int x{3};
    int &x_ref{x};
    int *x_ref_ptr{&x_ref};
    *x_ref_ptr = 100;
    std::cout << "x=" << x << std::endl;
  }
  return 0;
}